The present disclosure relates generally to database compression, and more specifically, to hierarchical database compression and query processing.
A database is made up of data that is organized into tables; all entries within a table have the same set of one or more columns. Within a table, the data entries are further subdivided into pages, which have a set maximum page size. Data entries are added to a database system through bulk load operations and (typically) smaller insert, or update, operations, e.g., using the structured query language (SQL) insert statement. In both cases, the input data are converted into the native format of the database, and compression techniques are applied to the data to reduce its size, and finally the compressed data is stored in fixed size units, or pages, of the database system. Compression techniques are important to reduce consumption of resources, such as disk space and network bandwidth. Compression techniques are applied in a database system to improve disk space savings and query performance. Database compression techniques are generally applied to a single level of granularity of database objects, e.g., table, row, column, or page.